`:top
In `F33f`_`[computer programming`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computer_programming]`_`f, a `!language construct`! is "a `F33f`_`[syntactically`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Syntax_(programming_languages)]`_`f allowable part of a `F33f`_`[program`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computer_program]`_`f that may be formed from one or more `F33f`_`[lexical tokens`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Lexical_token]`_`f in accordance with the rules of the `F33f`_`[programming language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Programming_language]`_`f", as defined by in the `F33f`_`[ISO/IEC 2382`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISO/IEC_2382]`_`f standard (`F33f`_`[ISO/IEC JTC 1`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISO/IEC_JTC_1]`_`f).`:cite-ref-iso-iec-2382-1-0[`F5bf`_`[1`#cite-note-iso-iec-2382-1]`_`f] A `!term`! is defined as a "linguistic construct in a `F33f`_`[conceptual schema`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Conceptual_schema]`_`f language that refers to an entity".`:cite-ref-iso-iec-2382-1-1[`F5bf`_`[1`#cite-note-iso-iec-2382-1]`_`f]
While the terms "language construct" and "control structure" are often used synonymously, there are additional types of logical constructs within a computer program, including `F33f`_`[variables`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Variable_(computer_science)]`_`f, `F33f`_`[expressions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Expression_(computer_science)]`_`f, `F33f`_`[functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Function_(computer_science)]`_`f, or `F33f`_`[modules`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Modular_programming]`_`f.
`F33f`_`[Control flow`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Control_flow]`_`f statements (such as `F33f`_`[conditionals`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Conditional_(computer_programming)]`_`f, `F33f`_`[foreach loops`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Foreach_loop]`_`f, `F33f`_`[while loops`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=While_loop]`_`f, etc) are language constructs, not `F33f`_`[functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Subroutine]`_`f. So `B100`F9d9while (true)`f`b is a language construct, while `B100`F9d9add(10)`f`b is a function call.
>>Contents
• `F0af`_`[Examples of language constructs`#examples-of-language-constructs]`_`f
• `F0af`_`[References`#references]`_`f
-─
>>Examples of language constructs
In `F33f`_`[PHP`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=PHP]`_`f `B100`F9d9print`f`b is a language construct.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f]
`B100`F9d9<?php`f`b
`B100`F9d9print 'Hello world';`f`b
`B100`F9d9?>`f`b
is the same as:
`B100`F9d9<?php`f`b
`B100`F9d9print('Hello world');`f`b
`B100`F9d9?>`f`b
In Java a `F33f`_`[class`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Class_(computer_programming)]`_`f is written in this format:
`B100`F9d9public class MyClass {`f`b
`B100`F9d9 //Code . . . . . .`f`b
`B100`F9d9}`f`b
In C++ a class is written in this format:
`B100`F9d9class MyCPlusPlusClass {`f`b
`B100`F9d9 //Code . . . .`f`b
`B100`F9d9};`f`b
>>References
`:cite-note-iso-iec-2382-1`!1.`! `F0af`_`[↑`#cite-ref-iso-iec-2382-1-0]`_`f "ISO/IEC 2382, Information technology — Vocabulary".
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f "PHP: print - Manual". `*www.php.net`*. Retrieved 2022-11-18.
`c`F0af`_`[↑ Back to top`#top]`_`f`a